using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid;
using Барс;
using Барс.Ядро;
using Барс.Интерфейс;
namespace Аккорд
{
	public partial class ФормаПереходаПродажи
	{
		#region Обработчик события редактор_СледующийЭтап_ИзмененииВыбранногоЭлемента (5d82abaf-8a78-42c7-889f-048274465766)
		private void редактор_СледующийЭтап_ИзмененииВыбранногоЭлемента( object Отправитель, АргументыСобытия Аргументы )
		{
            object значение = редактор_СледующийЭтап.ВыбранныйОбъект;
            ЭтапПродаж этап = (ЭтапПродаж)(значение as ЭлементПеречисления).Значение;
            if (этап == ЭтапПродаж.ВыставлениеСчета)
            {
                редактор_Сумма.Заблокирован = false;
                редактор_Сумма.ОбязательноДляЗаполнения = true;
            }
            else
            {
                редактор_Сумма.Заблокирован = true;
                редактор_Сумма.ОбязательноДляЗаполнения = false;
            }
		}
		#endregion
		
		#region Обработчик события кнопка_OK_Нажатие (e4528592-89e2-48ac-8e5a-d08fb5f5fc47)
		private void кнопка_OK_Нажатие( object Отправитель, АргументыСобытия Аргументы )
		{
		    object значение = редактор_СледующийЭтап.ВыбранныйОбъект;
            if (значение is ЭлементПеречисления)
                Переход.НовыйЭтап = (ЭтапПродаж)(значение as ЭлементПеречисления).Значение;
		}
		#endregion
		
		#region Обработчик события ФормаПереходаПродажи_Открытие (ff3cc2f6-d857-4eab-b1ae-3dca34bfba1e)
		private void ФормаПереходаПродажи_Открытие( object Отправитель, АргументыСобытия Аргументы )
		{
            СписокЭтаповДляВыбора.Clear();

			switch(Переход.ПредыдущийЭтап)
			{
                case ЭтапПродаж.КонтрольОплаты:
                    СписокЭтаповДляВыбора.ДобавитьЭлемент(ЭтапПродаж.Сопровождение);
                    СписокЭтаповДляВыбора.ДобавитьЭлемент(ЭтапПродаж.Завершено);
                    СписокЭтаповДляВыбора.ДобавитьЭлемент(ЭтапПродаж.Ануллированно);
			        break;

                case ЭтапПродаж.Завершено:
                    СписокЭтаповДляВыбора.ДобавитьЭлемент(ЭтапПродаж.Ануллированно);
			        break;

                case ЭтапПродаж.Ануллированно:
                    СписокЭтаповДляВыбора.ДобавитьЭлемент(ЭтапПродаж.ВыяснениеПотребности);
			        break;

                default:
                    СписокЭтаповДляВыбора.ДобавитьЭлемент((ЭтапПродаж)((int)Переход.ПредыдущийЭтап + 1));
                    СписокЭтаповДляВыбора.ДобавитьЭлемент(ЭтапПродаж.Ануллированно);
			        break;
			}

		    редактор_Менеджер.Заблокирован = true;
		    редактор_Дата.Заблокирован = true;
		    редактор_СледующийЭтап.ИсточникЗаписей = СписокЭтаповДляВыбора;
		    редактор_СледующийЭтап.ВыбранныйОбъект = СписокЭтаповДляВыбора[0];
            ОбновитьСвязиКомпонентов();
		}
		#endregion
		
	}
}